home *** CD-ROM | disk | FTP | other *** search
- #ifndef DVRFUNCS_H
- #define DVRFUNCS_H
-
- //----------------------
- // CONSTANT DEFINITIONS
- //----------------------
- #define FALSE 0
- #define TRUE 1
-
- #define MISSING 0
- #define LOADED 1
-
- #define STOPPED 0
- #define PLAYING 1
- #define PAUSED 2
-
- #define EXTENDED_MEM_VOC 1
-
- //-------------------
- // MACRO DEFINITIONS
- //-------------------
- #define HIBYTE(word) (word >> 8)
- #define LOBYTE(word) (word & 0x0ff)
-
- #ifndef MK_FP
- // makes a far pointer
- #define MK_FP(seg,ofs)((char _far *)((unsigned long)seg << 16) + ofs)
- #endif
-
- //--------------
- // ENUMERATIONS
- //--------------
- // SBSIM Error messages
- typedef enum {SIMerr_NoErr, // No error occured
- SIMerr_IsBusy, // SBSIM currently in use
- SIMerr_BadDriver, // Bad driver specified
- SIMerr_BadFunction, // Bad function specified
- SIMerr_VoiceActive, // A voice process is already active
- SIMerr_VMEMnoStart, // Couldn't start CT-VOICE
- SIMerr_VDSKnoStart, // Couldn't start CTVDSK
- SIMerr_BadSIMhandle, // Invalid SBSIM handle
- SIMerr_BadBuffer, // Buffer not initialized yet
- SIMerr_BadFile, // Bad file name given
- SIMerr_BadFileHandle, // Bad file handle
- SIMerr_NotInited, // Driver not started yet
- SIMerr_NoXMS, // XMS driver not installed
- SIMerr_NoSIMfree, // No free SBSIM handles
- SIMerr_BadFileType, // Bad file type specified
- SIMerr_BadFreeXMS, // Couldn't free XMS block
- SIMerr_AuxBadSource, // Invalid source selected
- SIMerr_BadPanGet, // Get pan position failed
- SIMerr_BadPanSet, // Set pan position failed
- SIMerr_BadVolSet, // Set volume failed
- SIMerr_FPbadStart, // Couldn't start fade/pan
- SIMerr_FPbadStop, // Couldn't stop fade/pan
- SIMerr_FPbadPause, // Couldn't pause fade/pan
- SIMerr_FPbadType, // Not a fade/pan operation
- SIMerr_FPbadMode, // Bad mode for fade/pan
- SIMerr_FPfailed, // Couldn't start fade/pan
- SIMerr_FPnotFadePan, // Source not fading/panning
- SIMerr_MusicActive, // FM or MIDI already playing
- SIMerr_BadMapper // Bad MIDI mapper format
- } SIMERR;
-
- typedef enum {FM, DskVoice, MemVoice, AuxDrv, Midi} DRIVER;
- typedef enum {MASTER, VOICE, SYNTH, CD, LINE, MIC} SOURCE;
-
- //------------------------
- // STRUCTURE DEFINITIONS
- //------------------------
- // driver information structure
- typedef struct
- {
- int status;
- long entry;
- long bufLoc;
- unsigned int bufSize;
- } DVRINFO;
-
- //------------------
- // GLOBAL VARIABLES
- //------------------
- extern int SIMint;
- extern char *errorMsg[];
-
- //------------------------
- // FUNCTION DECLARATIONS
- //------------------------
- int GetDvrInfo(DRIVER driver, DVRINFO *dvrInfo);
- unsigned Version(void);
- unsigned GetDrvrs(void);
- SIMERR GetAddress(DRIVER driver, long *address);
- SIMERR GetBufInfo(DRIVER driver, long *address, unsigned *size);
- SIMERR StartSnd(DRIVER driver, void far *ptr, char type, int SBSIMHandle);
- unsigned GetSndStat(DRIVER driver);
- SIMERR PlaySnd(DRIVER driver);
- void StopSnd(DRIVER driver);
- void PauseSnd(DRIVER driver);
- void ResumeSnd(DRIVER driver);
- SIMERR GetVolume(SOURCE source, unsigned *volume);
- SIMERR SetVolume(SOURCE source, unsigned volume);
- SIMERR GetGain(int direction, unsigned *level);
- SIMERR SetGain(int direction, unsigned level);
- SIMERR GetTone(int band, unsigned *level);
- SIMERR SetTone(int band, unsigned level);
- unsigned FindDvr(char *IDStr, unsigned int IDOff);
- SIMERR LoadExtMem(void far *Ptr);
- SIMERR FreeExtMem(int SBSIMHandle);
- #endif
-